﻿Public Class frm_ABM_Titulos
    Enum estado
        insertar
        modificar
        borrar
    End Enum
    ' clase que nos da todo el acceso a la BD
    Dim acceso As New AccesoBD
    ' variable que me guarda la tarjeta seleccionada
    Dim idTitulo As Integer
    Dim accion As estado

    Private Sub cmd_salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_salir.Click

        Me.Close()

    End Sub
    'A L I M A Ñ A ! ! : PERMITE GUARDAR UN ESPACIO
    Private Sub cmd_aceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_aceptar.Click
        Dim consulta As String
        If accion = estado.insertar Then
            consulta = "INSERT INTO Titulos values('" & Me.txt_descripcion.Text & "')"
            acceso._insertar(consulta)
            cargo_tabla()
        End If
        If Me.accion = estado.modificar Then
            consulta = "update Titulos set descripcion='" & Me.txt_descripcion.Text & "' where idTitulo=" & idTitulo
            acceso._modificar(consulta)
            cargo_tabla()
        End If
        If Me.accion = estado.borrar Then
            consulta = "delete Titulos where idTitulo=" & Me.idTitulo
            acceso._eliminar(consulta)
            cargo_tabla()
        End If
        txt_descripcion.Text = ""
        grupo_boton_titulo.Enabled = False
    End Sub

    Private Sub cmd_nuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_nuevo.Click
        Me.accion = estado.insertar
        grupo_boton_titulo.Enabled = True
        txt_descripcion.Focus()
        txt_descripcion.Text = ""
    End Sub

    Private Sub frm_titulos_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        grupo_boton_titulo.Enabled = False
        cargo_tabla()
    End Sub
    Private Sub cargo_tabla()
        Dim tabla As DataTable

        tabla = acceso.devuelveTabla("Titulos")

        dgv_titulos.Rows.Clear()
        Dim c As Integer
        For c = 0 To tabla.Rows.Count - 1
            Me.dgv_titulos.Rows.Add(tabla.Rows(c)("idTitulo"), tabla.Rows(c)("descripcion"))
        Next
    End Sub

    Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.Validated
        If txt_descripcion.Text = "" Then
            MsgBox("Ingrese nombre del título!")
            txt_descripcion.Focus()
        End If
    End Sub

    Private Sub dgv_titulos_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgv_titulos.SelectionChanged
        If dgv_titulos.SelectedRows.Count > 0 Then
            idTitulo = dgv_titulos.Item("id", dgv_titulos.SelectedRows(0).Index).Value

        End If
    End Sub

    Private Sub EliminarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarToolStripMenuItem.Click
        If MessageBox.Show("Esta seguro que desea eliminar el registro?!", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            accion = estado.borrar
            cargarTxt()
        End If
    End Sub

    Private Sub ModificarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificarToolStripMenuItem.Click
        accion = estado.modificar
        cargarTxt()
    End Sub
    Private Sub cargarTxt()
        Dim tabla As DataTable = acceso.devuelveTabla("Titulos where idTitulo=" & idTitulo)
        Dim fila As DataRow = tabla.Rows(0)
        txt_descripcion.Text = fila("descripcion")
        grupo_boton_titulo.Enabled = True
        txt_descripcion.Focus()
    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        txt_descripcion.Text = ""
        grupo_boton_titulo.Enabled = False
    End Sub
End Class